﻿Imports ServiciosAT
Imports Utilitarios

Namespace SIREOS
    Public Class EquipoWSR

        Function buscarSerieEquipo(oEquipoBE As SireosWSEquipo.Equipo) As SireosWSEquipo.Equipo
            Dim oEquipoWS As New SireosWSEquipo.WSEquipo
            Dim obuscarEquipoSerieRequest As New SireosWSEquipo.buscarEquipoSerieRequest
            Dim obuscarEquipoSerieResponse As New SireosWSEquipo.buscarEquipoSerieResponse

            obuscarEquipoSerieRequest.equipo = oEquipoBE
            obuscarEquipoSerieResponse = oEquipoWS.buscarEquipoSerie(obuscarEquipoSerieRequest)

            If Not (obuscarEquipoSerieResponse.equipo Is Nothing) Then
                Dim oEquipoBER As New SireosWSEquipo.Equipo
                oEquipoBER.codEquipo = obuscarEquipoSerieResponse.equipo.codEquipo

                Dim oTipoEquipo As New SireosWSEquipo.TipoEquipo
                oTipoEquipo.codFamilia = obuscarEquipoSerieResponse.equipo.modelo.tipoEquipo.codFamilia
                oTipoEquipo.codTipoEquipo = obuscarEquipoSerieResponse.equipo.modelo.tipoEquipo.codTipoEquipo

                Dim oModelo As New SireosWSEquipo.Modelo
                oModelo.tipoEquipo = oTipoEquipo
                oModelo.codTipoEquipo = obuscarEquipoSerieResponse.equipo.modelo.codTipoEquipo
                oModelo.codMarca = obuscarEquipoSerieResponse.equipo.modelo.codMarca
                oModelo.partNumber = obuscarEquipoSerieResponse.equipo.modelo.partNumber

                oEquipoBER.modelo = oModelo

                oEquipoBER.codModelo = obuscarEquipoSerieResponse.equipo.codModelo
                oEquipoBER.modelo.codMarca = obuscarEquipoSerieResponse.equipo.modelo.codMarca
                oEquipoBER.codLicencia = obuscarEquipoSerieResponse.equipo.codLicencia
                oEquipoBER.modelo.partNumber = obuscarEquipoSerieResponse.equipo.modelo.partNumber
                oEquipoBER.serEquipo = obuscarEquipoSerieResponse.equipo.serEquipo
                oEquipoBER.robEquipo = obuscarEquipoSerieResponse.equipo.robEquipo

                Return oEquipoBER
            Else
                Return Nothing
            End If
        End Function

        Function buscarPartNumberEquipo(oModeloBE As SireosWSEquipo.Modelo) As SireosWSEquipo.Modelo
            Dim oEquipoWS As New SireosWSEquipo.WSEquipo
            Dim obuscarPartNumberRequest As New SireosWSEquipo.buscarPartNumberRequest
            Dim obuscarPartNumberResponse As New SireosWSEquipo.buscarPartNumberResponse

            obuscarPartNumberRequest.modelo = oModeloBE
            obuscarPartNumberResponse = oEquipoWS.buscarPartNumber(obuscarPartNumberRequest)

            If Not (obuscarPartNumberResponse.modelo Is Nothing) Then
                Dim oModeloBER As New SireosWSEquipo.Modelo
                Dim oTipoEquipo As New SireosWSEquipo.TipoEquipo
                oTipoEquipo.codFamilia = obuscarPartNumberResponse.modelo.tipoEquipo.codFamilia

                oModeloBER.tipoEquipo = oTipoEquipo
                oModeloBER.codTipoEquipo = obuscarPartNumberResponse.modelo.codTipoEquipo
                oModeloBER.dscModelo = obuscarPartNumberResponse.modelo.dscModelo
                oModeloBER.codMarca = obuscarPartNumberResponse.modelo.codMarca
                oModeloBER.codModelo = obuscarPartNumberResponse.modelo.codModelo
                oModeloBER.partNumber = obuscarPartNumberResponse.modelo.partNumber
                Return oModeloBER
            Else
                Return Nothing
            End If
        End Function

        Function listarMarcas(oTipoequipoBE As SireosWSEquipo.TipoEquipo) As DataTable
            Dim oEquipoWS As New SireosWSEquipo.WSEquipo

            Dim _listarMarcasRequest As New SireosWSEquipo.listarMarcasRequest
            Dim _listarMarcasResponse As New SireosWSEquipo.listarMarcasResponse

            _listarMarcasRequest.tipoEquipo = oTipoequipoBE
            _listarMarcasRequest.tipoEquipo.codTipoEquipoSpecified = True

            _listarMarcasResponse = oEquipoWS.listarMarcas(_listarMarcasRequest)

            If Not (_listarMarcasResponse.listaObjetoNegocio.marca Is Nothing) Then
                Dim tot As Integer = _listarMarcasResponse.listaObjetoNegocio.marca.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodMarca")
                dt.Columns.Add("NomMarca")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarMarcasResponse.listaObjetoNegocio.marca.ElementAt(i).codMarca, _listarMarcasResponse.listaObjetoNegocio.marca.ElementAt(i).nomMarca)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function listarModelos(oModelo As SireosWSEquipo.Modelo) As DataTable
            Dim oEquipoWS As New SireosWSEquipo.WSEquipo

            Dim _listarModelosRequest As New SireosWSEquipo.listarModelosRequest
            Dim _listarModelosResponse As New SireosWSEquipo.listarModelosResponse

            _listarModelosRequest.modelo = oModelo
            _listarModelosRequest.modelo.codMarcaSpecified = True
            _listarModelosRequest.modelo.codTipoEquipoSpecified = True

            _listarModelosResponse = oEquipoWS.listarModelos(_listarModelosRequest)

            If Not (_listarModelosResponse.listaObjetoNegocio.modelo Is Nothing) Then
                Dim tot As Integer = _listarModelosResponse.listaObjetoNegocio.modelo.Count
                Dim dt As New DataTable
                dt.Columns.Add("CodModelo")
                dt.Columns.Add("DscModelo")
                For i As Integer = 0 To tot - 1
                    dt.Rows.Add(_listarModelosResponse.listaObjetoNegocio.modelo.ElementAt(i).codModelo, _listarModelosResponse.listaObjetoNegocio.modelo.ElementAt(i).dscModelo)
                Next
                Return dt
            Else
                Return Nothing
            End If
        End Function

        Function obtenerPartNumberEquipo(oModeloBE As SireosWSEquipo.Modelo) As String
            Dim oEquipoWS As New SireosWSEquipo.WSEquipo
            Dim ocargarDatosModeloRequest As New SireosWSEquipo.cargarDatosModeloRequest
            Dim ocargarDatosModeloResponse As New SireosWSEquipo.cargarDatosModeloResponse

            ocargarDatosModeloRequest.modelo = oModeloBE
            ocargarDatosModeloRequest.modelo.codModeloSpecified = True
            ocargarDatosModeloResponse = oEquipoWS.cargarDatosModelo(ocargarDatosModeloRequest)

            If Not (ocargarDatosModeloResponse.modelo Is Nothing) Then
                Dim partnumber As String = ocargarDatosModeloResponse.modelo.partNumber
                Return partnumber
            Else
                Return Nothing
            End If
        End Function

        Function registrarEquipo(oEquipo As SireosWSEquipo.Equipo) As Integer
            Dim oEquipoWS As New SireosWSEquipo.WSEquipo

            Dim _registrarEquipoRequest As New SireosWSEquipo.registrarEquipoRequest
            Dim _registrarEquipoResponse As New SireosWSEquipo.registrarEquipoResponse

            _registrarEquipoRequest.equipo = oEquipo
            _registrarEquipoRequest.equipo.cabLicenciaSpecified = True
            _registrarEquipoRequest.equipo.codLicenciaSpecified = True
            _registrarEquipoRequest.equipo.codModeloSpecified = True
            _registrarEquipoRequest.equipo.robEquipoSpecified = True
            _registrarEquipoRequest.equipo.usuRegistroSpecified = True

            _registrarEquipoResponse = oEquipoWS.registrarEquipo(_registrarEquipoRequest)

            If Not (_registrarEquipoResponse.equipo Is Nothing) Then
                Return _registrarEquipoResponse.equipo.codEquipo
            Else
                Return 0
            End If
        End Function

        Function modificarEquipo(oEquipo As SireosWSEquipo.Equipo) As SireosWSEquipo.MensajeInformativo
            Dim oEquipoWS As New SireosWSEquipo.WSEquipo

            Dim _modificarEquipoRequest As New SireosWSEquipo.modificarEquipoRequest
            Dim _modificarEquipoResponse As New SireosWSEquipo.modificarEquipoResponse

            _modificarEquipoRequest.equipo = oEquipo
            _modificarEquipoRequest.equipo.codModeloSpecified = True
            _modificarEquipoRequest.equipo.codLicenciaSpecified = True
            _modificarEquipoRequest.equipo.robEquipoSpecified = True
            _modificarEquipoRequest.equipo.codEquipoSpecified = True

            _modificarEquipoResponse = oEquipoWS.modificarEquipo(_modificarEquipoRequest)

            If Not (_modificarEquipoResponse.mensajeInformativo Is Nothing) Then
                Return _modificarEquipoResponse.mensajeInformativo
            Else
                Return Nothing
            End If
        End Function

        Function validarEquipoOrden(oEquipo As SireosWSEquipo.Equipo) As Integer
            Dim ServicioWS As New SireosWSEquipo.WSEquipo
            Dim _validarEquipoOrdenRequest As New SireosWSEquipo.validarEquipoOrdenRequest
            Dim _validarEquipoOrdenResponse As New SireosWSEquipo.validarEquipoOrdenResponse

            _validarEquipoOrdenRequest.equipo = oEquipo

            _validarEquipoOrdenResponse = ServicioWS.validarEquipoOrden(_validarEquipoOrdenRequest)

            If _validarEquipoOrdenResponse.ordenServicio Is Nothing Then
                Return 0
            Else
                Return _validarEquipoOrdenResponse.ordenServicio.codOrden
            End If
        End Function



    End Class
End Namespace